Conventionally, as disclosed in, for example, Japanese Laid-Open Patent Publication No. 5-31256 (hereinafter, referred to as Document 1) and Japanese Laid-Open Patent Publication No. 2002-939 (hereinafter, referred to as Document 2), known is a game for which a player operates a computer or a game by touch-operating an object or a character displayed on a display screen with using a tablet or a touch panel covering the display screen.
Document 1 discloses a golf game in which a player performs touch-operation using a tablet and a pen. In the golf game, measured positions of the pen on the tablet are compared with each other based on information on a track of a movement of the pen, and the largest distance measured is used as a shot power of a ball so as to play the golf game.
Document 2 discloses a golf game for which a player performs touch-operation using a touch panel. In the golf game, when a player touch-operates a touch panel to drag, to the left, an object to be controlled (push button), this operation corresponds to a swing operation. When the player drags, to the right, the object to be controlled, this operation corresponds to a shot operation. In this case, when the drag operation is stopped between the swing operation and the shot operation, a calculation of a carry of the ball is started based on the dragging distance obtained in the swing operation. Then, a speed of the shot operation is obtained so as to calculate a final carry of the ball.
In both techniques disclosed in Document 1 and Document 2, the game proceeds based on information obtained when a player performs touch-operation. That is, in the technique disclosed in Document 1, the largest distance measured is used as it is to determine a carry of a ball based thereon. On the other hand, Document 2 discloses that a carry of a ball is determined based on a dragging distance and a speed of a shot operation
However, in a case where a game proceeds based on input information obtained when a player touch-operates a tablet or a touch panel, there is a problem of the touch-operation being influenced by input jiggling. For example, in a case where an input direction (angle) is obtained when a player touch-operates a touch panel, a value different from an expected value is sometimes inputted as the input direction because a value of input information is calculated based on an operation direction obtained when a player taps, presses on, and touches the touch panel with using a finger or a pen and therefore the value of input information depends on how high detection accuracy the touch panel has (for example, 256 dots×192 dots), how smooth an operation surface is, or how strongly the player taps, presses on, or touches the touch panel. If an input direction is determined based on the input information involving such jiggling, an input direction different from an expected input direction is used for processing the game. Further, also when an input speed is obtained through a touch-operation performed on a touch panel, a value different from an expected value is sometimes inputted as a value of input information, thereby resulting in an input speed which is different from an expected value and which involves such jiggling being used for processing the game.
For example, in a case where only an input angle and an input speed obtained when a ball is hit are used for processing the game during a drag operation in the touch-operation, the input angle and input speed involving jiggling, which are obtained only when the ball is hit during the touch operation, are used for processing the game, which requires the player to not only master an operation technique but also control the game operation with higher accuracy. Accordingly, the player sometimes feels that an image is not displayed as expected from his touch-operation.
Moreover, in both techniques disclosed in Document 1 and Document 2, a player is required to directly touch an object to be controlled on a touch panel or a tablet, and a focus has not been placed on enjoying a game operation which is specific to a touch panel operation.
Therefore, a feature of certain exemplary embodiments is to provide a game apparatus and a storage medium for processing a game based on input information which is less affected by input jiggling occurring during the touch operation. Further, another feature of certain exemplary embodiments is to provide a game apparatus and a storage medium which are capable of providing a controllability specific to a touch panel, which is not able to be obtained through an operation of a switch or a joy stick of a controller for use in a game apparatus.
Certain exemplary embodiments have the following aspects to attain the features mentioned above. The reference numerals, step Nos. (a step is abbreviated as S), and the like in parentheses indicate correspondence with drawings described below in order to aid in understanding the certain exemplary embodiments described herein and are not intended to limit, in any way, the scope thereof.
A first aspect of certain exemplary embodiments is directed to a game apparatus (1) for presenting a game in which a player controls a first object (bar B) appearing in a game space to change a position of a second object (shell S) which is different from the first object. The game apparatus comprises: a display section (12); a touch panel (13); an operation position detection section (S52); a position coordinate storage section (S57); a movement parameter calculation section (S81); a movement parameter determination section (S82 to s86 and S88 to S90); a movement parameter storage section (S87 and S91); a first object display control section (S60 to S64); and a second object display control section (S65, and S71 to S74). The display section displays the game space on a display screen. The touch panel is provided such that the display screen of the display section is covered thereby. The operation position detection section detects, at a predetermined periodic cycle, position coordinates (tx, ty) at which the touch panel is touch-operated. The position coordinate storage section stores the position coordinates (tpx, tpy) detected by the operation position detection section. The movement parameter calculation section calculates at least one of a movement speed (V) and a movement direction θ as a movement parameter for the second object based on current position coordinates (tx, ty) and position coordinates (tpx, tpy) having been detected in an immediately preceding time. The movement parameter determination section determines a new movement parameter (V, θ) using the movement parameters (Vp, θp) having been previously determined and the movement parameter (V, θ) calculated by the movement parameter calculation section (S86 and S90). The movement parameter storage section stores the movement parameter determined by the movement parameter determination section. The first object display control section display-controls the first object according to the position coordinates detected by the operation position detection section. The second object display control section moves and display-controls the second object based on the updated movement parameter stored in the movement parameter storage section, when the first object and the second object satisfy a predetermined positional relationship therebetween (Yes in S65).
In a second aspect based on the first aspect, the movement parameter determination section calculates an average between the movement parameter calculated by the movement parameter calculation section and a plurality of movement parameters which have been previously determined and which are stored in the movement parameter storage section, thereby determining a new movement parameter.
In a third aspect based on the first aspect, the movement parameter determination section calculates an average between the movement parameter calculated by the movement parameter calculation section and the movement parameter which has been determined in an immediately preceding time and which is stored in the movement parameter storage section, thereby determining a new movement parameter.
In a fourth aspect based on the first aspect, the movement parameter calculation section calculates both a movement speed and a movement direction as the movement parameter for the second object. The movement parameter determination section calculates an average between the movement direction calculated by the movement parameter calculation section and the movement direction which has been determined in an immediately preceding time and which is stored in the movement parameter storage section, thereby determining a new movement direction (S90). The movement parameter determination section calculates, when the movement speed calculated by the movement parameter calculation section is lower than the movement speed which has been determined in an immediately preceding time and which is stored in the movement parameter storage section (Yes in S85), an average between the movement speed which has been determined in the immediately preceding time and the movement speed calculated by the movement parameter calculation section, thereby determining a new movement speed. The movement parameter determination section determines, as a new movement speed, the movement speed calculated by the movement parameter calculation section when the movement speed calculated by the movement parameter calculation section is higher than or equal to the movement speed which has been determined in an immediately preceding time (No. in S85).
In a fifth aspect based on the first aspect, the movement parameter calculation section calculates the movement parameter at the predetermined periodic cycle by using, as current position coordinates, position coordinates detected during a current periodic cycle, and using, as position coordinates having been detected in an immediately preceding time, position coordinates which have been detected during an immediately preceding periodic cycle.
In a sixth aspect based on the fifth aspect, the movement parameter calculation section obtains a motion vector (Δtx, Δty) to current position coordinates from position coordinates which have been detected in an immediately preceding time and calculates, as the movement parameter, at least one of a movement speed and a movement direction based on the motion vector.
In a seventh aspect based on the first aspect, the game apparatus further comprises an initial position storage section (S51). The initial position storage section stores initial position coordinates (Bx, By) which are used for initially displaying the first object on the display screen. The first object display control section display-controls, according to position coordinates detected by touch-operating the touch panel with the operation position detection section, the first object using relative position data (Rx, Ry) indicating a relative positional relationship between the initial position coordinates and position coordinates detected by touch-operating the touch panel with the operation position detection section.
In an eighth aspect based on the first aspect, the game apparatus further comprises a target display section (231) and a score calculation section (S75). The target display section sets, in the game space, a target (target T) which is an object toward which the second object is moved and displays the target on the display screen. The second object display control section reduces, in one or more increments of a predetermined amount, a speed of the second object being moved based on the movement parameter, and display-controls the second object (S73). The score calculation section calculates a score for the game using a positional relationship between position coordinates of the target and position coordinates at which the movement speed of the second object is reduced to zero.
A ninth aspect of certain exemplary embodiments is directed to a game apparatus for presenting a game in which a player controls an object appearing in a game space to change a position of the object. The game apparatus comprises: a display section; a touch panel; an operation position detection section; a position coordinate storage section; a movement parameter calculation section; a movement parameter determination section; a movement parameter storage section; and an object display control section. The display section displays the game space on a display screen. The touch panel is provided such that the display screen of the display section is covered thereby. An operation position detection section detects, at a predetermined periodic cycle, position coordinates at which the touch panel is touch-operated. The position coordinate storage section stores the position coordinates detected by the operation position detection section. The movement parameter calculation section calculates at least one of a movement speed and a movement direction as a movement parameter for the object based on current position coordinates and position coordinates having been detected in an immediately preceding time. The movement parameter determination section determines a new movement parameter using the movement parameters having been previously determined and the movement parameter calculated by the movement parameter calculation section. The movement parameter storage section stores the movement parameter determined by the movement parameter determination section. The object display control section display-controls the object according to the position coordinates detected by the operation position detection section, and moves and display-controls the object based on the updated movement parameter stored in the movement parameter storage section, when a predetermined condition is satisfied.
A tenth aspect of the certain exemplary embodiments is directed to a storage medium having stored thereon a game program executed by a computer of a game apparatus for presenting a game in which a player controls a first object appearing in a game space to change a position of a second object which is different from the first object. The game apparatus includes a display section for displaying the game space on a display screen, a touch panel provided such that the display screen of the display section is covered thereby, and a storage section (22). The game program causes the computer to execute: an operation position detection step (S52); a position coordinate storage step (S57); a movement parameter calculation step (S81); a movement parameter determination step (S82 to S86 and S88 to S90); a movement parameter storage step (S87 and S91); a first object display control step (S60 to S64); and a second object display control step (S65 and S71 to S74). The operation position detection step detects, at a predetermined periodic cycle, position coordinates at which the touch panel is touch-operated. The position coordinate storage step stores, in the storage section, the position coordinates detected in the operation position detection step. The movement parameter calculation step calculates at least one of a movement speed and a movement direction as a movement parameter for the second object based on current position coordinates and position coordinates having been detected in an immediately preceding time. The movement parameter determination step determines a new movement parameter using the movement parameters having been previously determined and the movement parameter calculated in the movement parameter calculation step. The movement parameter storage step stores, in the storage section, the movement parameter determined in the movement parameter determination step. The first object display control step display-controls the first object according to the position coordinates detected in the operation position detection step. The second object display control step moves and display-controls the second object based on the updated movement parameter stored in the movement parameter storage step, when the first object and the second object satisfy a predetermined positional relationship therebetween.
In an eleventh aspect based on the tenth aspect, the movement parameter determination step calculates an average between the movement parameter calculated in the movement parameter calculation step and a plurality of movement parameters which have been previously determined and which are stored in the storage section in the movement parameter storage step, thereby determining a new movement parameter.
In a twelfth aspect based on the tenth aspect, the movement parameter determination step calculates an average between the movement parameter calculated in the movement parameter calculation step and the movement parameter which has been determined in an immediately preceding time and which is stored in the storage section in the movement parameter storage step, thereby determining a new movement parameter.
In a thirteenth aspect based on the tenth aspect, the movement parameter calculation step calculates both a movement speed and a movement direction as the movement parameter for the second object. The movement parameter determination step calculates an average between the movement direction calculated in the movement parameter calculation step and the movement direction which has been determined in an immediately preceding time and which is stored in the storage section in the movement parameter storage step, thereby determining a new movement direction. The movement parameter determination step calculates, when the movement speed calculated in the movement parameter calculation step is lower than the movement speed which has been determined in an immediately preceding time and which is stored in the storage section in the movement parameter storage step, an average between the movement speed which has been determined in the immediately preceding time and the movement speed calculated in the movement parameter calculation step, thereby determining a new movement speed. The movement parameter determination step determines, as a new movement speed, the movement speed calculated in the movement parameter calculation step when the movement speed calculated in the movement parameter calculation step is higher than or equal to the movement speed which has been determined in an immediately preceding time.
In a fourteenth aspect based on the tenth aspect, the movement parameter calculation step calculates the movement parameter at the predetermined periodic cycle by using, as current position coordinates, position coordinates detected during a current periodic cycle, and using, as position coordinates having been detected in an immediately preceding time, position coordinates which have been detected during an immediately preceding periodic cycle.
In a fifteenth aspect based on the fourteenth aspect, the movement parameter calculation step obtains a motion vector to current position coordinates from position coordinates which have been detected in an immediately preceding time and calculates, as the movement parameter, at least one of a movement speed and a movement direction based on the motion vector.
In a sixteenth aspect based on the tenth aspect, the game program causes the computer to further execute an initial position storage step (S51). The initial position storage step stores, in the storage section, initial position coordinates which are used for initially displaying the first object on the display screen. The first object display control step display-controls, according to position coordinates detected by touch-operating the touch panel in the operation position detection step, the first object using relative position data indicating a relative positional relationship between the initial position coordinates and position coordinates detected by touch-operating the touch panel in the operation position detection step.
In a seventeenth aspect based on the tenth aspect, the game program causes the computer to further execute a target display step (231) and a score calculation step (S75). The target display step sets, in the game space, a target which is an object toward which the second object is moved, and displays the target on the display screen. The second object display control step reduces, in one or more increments of a predetermined amount, a speed of the second object being moved based on the movement parameter, and display-controls the second object. The score calculation step calculates a score for the game using a positional relationship between position coordinates of the target and position coordinates at which the movement speed of the second object is reduced to zero.
An eighteenth aspect of the certain exemplary embodiments is directed to a storage medium having stored thereon a game program executed by a computer of a game apparatus for presenting a game in which a player controls an object appearing in a game space to change a position of the object. The game apparatus includes a display section for displaying the game space on a display screen, a touch panel provided such that the display screen of the display section is covered thereby, and a storage section. The game program causes the computer to execute: an operation position detection step; a position coordinate storage step; a movement parameter calculation step; a movement parameter determination step; a movement parameter storage step; and an object display control step. The operation position detection step detects, at a predetermined periodic cycle, position coordinates at which the touch panel is touch-operated. The position coordinate storage step stores, in the storage section, the position coordinates detected in the operation position detection step. The movement parameter calculation step calculates at least one of a movement speed and a movement direction as a movement parameter for the object based on current position coordinates and position coordinates having been detected in an immediately preceding time. The movement parameter determination step determines a new movement parameter using the movement parameters having been previously determined and the movement parameter calculated in the movement parameter calculation step. The movement parameter storage step stores, in the storage section, the movement parameter determined in the movement parameter determination step. The object display control step display-controls the object according to the position coordinates detected in the operation position detection step, and moves and display-controls the object based on the updated movement parameter stored, in the storage section, in the movement parameter storage step, when a predetermined condition is satisfied.
According to the first aspect, it is possible to provide a game in which a player controls a first object through a touch-operation so as to change a movement of a second object according to the control. A movement parameter for the second object is calculated based on input information obtained when the player touch-operates a touch panel, and a new movement parameter is determined using movement parameters which have been previously determined and a movement parameter which is currently calculated, thereby reducing an influence of input jigging occurring at the touch-operation. Further, input information obtained when the player touch-operates the touch panel are all stored and a movement parameter is finally determined using all the stored input information. Therefore, it is possible to provide the player with a controllability specific to a touch panel, which is not able to be obtained from an operation of a switch or a joy stick of a controller for use in a game apparatus.
According to the second aspect, a new movement parameter is obtained by calculating an average between a plurality of movement parameters which have been previously determined and a movement parameter which is currently calculated, thereby further reducing an influence of input jiggling occurring at the touch-operation.
According to the third aspect, a new movement parameter is obtained by calculating an average between a movement parameter which has been determined in an immediately preceding time and a movement parameter which is currently calculated, thereby reducing processing load and an influence of input jiggling occurring at the touch-operation.
According to the fourth aspect, a movement direction and a movement speed which are less affected by input jiggling occurring at the touch-operation can be obtained so as to be applied to the second object. Further, in a case where obtained is the movement speed which is applied to the second object, when a speed at which the player is touch-operating the touch panel is increased, the increased speed is used as it is as input information, and when a speed at which the player is touch-operating the touch panel is reduced, the deceleration for the touch operation is reduced. Therefore, a speed can be maintained with the touch-operation of increased speed having a higher priority.
According to the fifth aspect, touch position coordinates obtained at the touch-operation are detected at a predetermined periodic cycle (for example, for each display frame), thereby enabling a processing load to be reduced.
According to the sixth aspect, a movement speed or a movement angle is calculated based on a difference between positions at which touch-operations are performed (motion vector). Thereby, data which can be easily processed can be provided.
According to the seventh aspect, the first object is display-controlled based on relative input data. Thereby, the whole operation screen of the touch panel can be used so as to perform an operation for moving the first object. Therefore, the player does not necessarily have to directly touch the first object to be controlled, thereby enabling the player to visually confirm the first object with more ease.
According to the eighth aspect, when the second object is display-controlled, a score for the game is calculated based on a positional relationship between a position of a target and a position at which the second object stops after gradually reducing the speed. Therefore, the player has to consider how to manipulate the first object so as to properly move the second object, thereby entertaining the player well during the game.
According to the ninth aspect, it is possible to provide a game in which a player controls an object through a touch-operation so as to change a movement of the object according to the control. A movement parameter for the object is calculated based on input information obtained when the player touch-operates a touch panel, and a new movement parameter is determined using movement parameters which have been previously determined and a movement parameter which is currently calculated, thereby reducing an influence of input jigging occurring at the touch-operation. Further, input information obtained when the player touch-operates the touch panel are all stored and a movement parameter is finally determined using all the stored input information. Therefore, it is possible to provide the player with a controllability specific to a touch panel, which is not able to be obtained through an operation of a switch or a joy stick of a controller for use in a game apparatus.
Moreover, when a storage medium according to the certain exemplary embodiments is executed by a computer, an effect similar to an effect achieved by the aforementioned game apparatus can be obtained.
These and other features, aspects and advantages of the certain exemplary embodiments will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.